<!--
 * @Author: 刘十三
 * @Date: 2023-12-28 14:56:27
 * @LastEditors: 刘十三
 * @LastEditTime: 2024-03-11 10:30:30
 * @FilePath: \NM-dev-1.3.1\dev\pages\internal\linkage\todo\informationEntryAddUpdate.vue
 * @Description: 内蒙多员联动 - 信息录入（新增/编辑/查看）
-->

<template>
  <view class="page">
    <!-- #ifdef H5-ONLY -->
    <theme-navbar :is-white="false" :title="navTitle" :custom-back="goBack" style="z-index: 99999"></theme-navbar>
    <!-- #endif -->
    <view class="content">
      <!-- tab -->
      <view class="content-tab" :style="{ top: isHideNav ? 0 : '44px' }">
        <u-row gutter="16" style="margin:0 32rpx;">
          <u-col span="4">
            <view class="content-tab-list" @click="changeTab(0)">
              <u-image src="/static/intelligence/icon4.png" mode="widthFix" width="28px" height="28px" />
              <view class="tab-text" :class="index == 0 ? 'tab-color' : ''">基本信息</view>
            </view>
          </u-col>
          <u-col span="4">
            <view class="content-tab-list" @click="changeTab(1)">
              <u-image src="/static/intelligence/icon5.png" mode="widthFix" width="28px" height="28px" />
              <view class="tab-text" :class="index == 1 ? 'tab-color' : ''">附件</view>
            </view>
          </u-col>
          <u-col span="4" v-if="isStatus != 0">
            <view class="content-tab-list" @click="changeTab(2)">
              <u-image src="/static/intelligence/icon6.png" mode="widthFix" width="28px" height="28px" />
              <view class="tab-text" :class="index == 2 ? 'tab-color' : ''">反馈历史</view>
            </view>
          </u-col>
        </u-row>
      </view>
      <!-- 内容 -->
      <view class="content-main no-need-select">
        <view class="content-info" v-show="index == 0">
          <u-form class="u-form-m" :model="baseInfo" :error-type="['border-bottom', 'toast']" label-width="auto" label-position="top" ref="uForm">
            <u-form-item label="反馈人" prop="createdName">
              <u-input placeholder="自动回显" v-model="baseInfo.createdName" :disabled="true"></u-input>
            </u-form-item>
            <u-form-item label="反馈部门" prop="createdDeptName">
              <u-input placeholder="自动回显" v-model="baseInfo.createdDeptName" :disabled="true"></u-input>
            </u-form-item>
            <!-- sourceCode -->
            <u-form-item label="反馈来源" prop="sourceName" :required="isStatus != 2" :right-icon="isStatus != 2 ? 'arrow-right' : ''">
              <u-input placeholder="请选择" v-model="baseInfo.sourceName" :disabled="true" @click="clickCodeHandle" type="select"></u-input>
            </u-form-item>
            <!-- categoryCode -->
            <u-form-item label="反馈类型" prop="categoryName" :required="isStatus != 2" :right-icon="isStatus != 2 ? 'arrow-right' : ''">
              <u-input placeholder="请选择" v-model="baseInfo.categoryName" :disabled="true" @click="clickCategoryHandle" type="select"></u-input>
            </u-form-item>
            <u-form-item label="许可证号" prop="retailerLicense" :required="isStatus != 2" :right-icon="isStatus != 2 && isLicense ? 'arrow-right' : ''">
              <u-input placeholder="请选择" v-model="baseInfo.retailerLicense" :disabled="true" @click="clickLicNoHandle" type="select"></u-input>
            </u-form-item>
            <u-form-item :label="isLicense ? '零售户所属机构' : '无证户所属机构'" prop="retailerIssueOrgName" :required="isStatus != 2" :right-icon="isStatus != 2 ? 'arrow-right' : ''">
              <u-input :placeholder="isLicense ? '选择许可证后自动回显' : '请选择所属机构'" v-model="baseInfo.retailerIssueOrgName" :disabled="true" @click="clickorgUuidHandle" type="select"></u-input>
            </u-form-item>
            <u-form-item label="反馈时间" prop="feedbackDate" :required="isStatus != 2" :right-icon="isStatus != 2 ? 'arrow-right' : ''">
              <u-input placeholder="请选择" v-model="baseInfo.feedbackDate" :disabled="true" @click="clickDatekHandle"></u-input>
            </u-form-item>
            <u-form-item label="负责人" prop="retailerContactPerson">
              <u-input :placeholder="isLicense ? '选择许可证后自动回显' : '请输入负责人'" v-model="baseInfo.retailerContactPerson" :disabled="isLicense"></u-input>
            </u-form-item>
            <u-form-item label="企业字号" prop="retailerName">
              <u-input :placeholder="isLicense ? '选择许可证后自动回显' : '请输入企业字号'" v-model="baseInfo.retailerName" :disabled="isLicense"></u-input>
            </u-form-item>
            <u-form-item label="联系电话" prop="retailerContactPhone">
              <u-input :placeholder="isLicense ? '选择许可证后自动回显' : '请输入联系电话'" v-model="baseInfo.retailerContactPhone" :disabled="isLicense" maxLength="10"></u-input>
            </u-form-item>
            <u-form-item label="经纬度坐标" prop="lonLat" :required="!isLicense" :right-icon="isStatus != 2 ? 'arrow-right' : ''" v-if="!isLicense">
              <u-input placeholder="请选择" v-model="baseInfo.lonLat" :disabled="true" @click="clickLonlatHandle" type="select"></u-input>
            </u-form-item>
            <u-form-item label="经营地址" prop="retailerAddress" :required="isStatus != 2">
              <u-input :placeholder="isLicense ? '选择许可证后自动回显' : '请输入经营地址'" v-model="baseInfo.retailerAddress" type="textarea" height="100" :auto-height="true" :disabled="isLicense"></u-input>
            </u-form-item>
            <u-form-item label="标题" prop="taskTitle">
              <u-input placeholder="反馈+企业字号+反馈类型（自动生成）" v-model="baseInfo.taskTitle" clearable :disabled="true"></u-input>
            </u-form-item>
            <u-form-item label="反馈内容" prop="content" :required="isStatus != 2" :border-bottom="false">
              <u-input placeholder="请输入该户（具体情况）、存在（问题）、建议（如何解决）……" v-model="baseInfo.content" type="textarea" height="100" :auto-height="true" :disabled="isStatus == 2" maxlength="500"></u-input>
            </u-form-item>
          </u-form>
        </view>
        <view class="u-p-t-20" v-show="index == 1">
          <!-- 附件 -->
          <uploadFileList :doorwayFileUuid="baseInfo.doorwayFileUuid" :rlicFileUuid="baseInfo.rlicFileUuid" :otherFileUuid="baseInfo.otherFileUuid" :deletable="isStatus == 2" :readOnly="readOnly" @updateFile="updateFile" v-if="baseInfo.doorwayFileUuid && baseInfo.rlicFileUuid && baseInfo.otherFileUuid" />
          <view v-else style="display: flex;justify-content: center;padding-top:50px">
            <u-icon name="attach" color="#2979ff" size="28"></u-icon>
            <span style="font-size: 16px;color: #393B3D;">未上传</span>
          </view>
        </view>
        <view class="content-history u-p-b-20 u-p-t-20 u-p-l-30 u-p-r-30" v-show="index == 2">
          <!-- 反馈历史 -->
          <historyList :licenseNo="baseInfo.retailerLicense" v-if="isStatus != 0 && baseInfo.retailerLicense" />
          <view v-else class="no-data">
            <u-image src="/static/mescroll-empty.png" mode="widthFix" width="160px" height="160px"></u-image>
            <text class="no-text">~~ 暂无数据 ~~</text>
          </view>
        </view>
      </view>
      <!-- 按钮 -->
      <view class="submit-btns btn-other-cls" v-if="index != 2 && isStatus != 2">
        <u-row gutter="25" style="width: 100%">
          <u-col span="6">
            <u-button plain type="primary" @click="saveOrSubmit('save')">
              保存
            </u-button>
          </u-col>
          <u-col span="6">
            <u-button type="primary" @click="saveOrSubmit('submit')">
              提交
            </u-button>
          </u-col>
        </u-row>
      </view>
    </view>
    <!-- 日历 -->
    <u-picker mode="time" v-model="showTimeVisable" :params="params" :safe-area-inset-bottom="true" @confirm="changeDate"></u-picker>
    <!-- 反馈来源 -->
    <u-select v-model="showSourceNameVisabled" mode="single-column" :safe-area-inset-bottom="true" :list="sourceCodeOptions" @confirm="hanldeConfirmSource" value-name="code" label-name="name"></u-select>
    <!-- 反馈类型 -->
    <u-select v-model="showCategoryNameVisabled" mode="mutil-column-auto" :safe-area-inset-bottom="true" :list="categoryCodeOptions" @confirm="hanldeConfirmCategory"></u-select>
    <!-- 所属组织 -->
    <u-popup mode="bottom" height="60%" v-model="orgSelectShow">
      <org-select :parentUuid="orgUuid" :cleanParentOrg="true" @choose="selectArea"></org-select>
    </u-popup>
    <!-- 选择零售户、或者地图上的坐标位置 -->
    <u-action-sheet :list="addBtnsList" v-model="isOpen" @click="handlerDropMenu"></u-action-sheet>
  </view>
</template>

<script>
let keyFor = [
  { key: "retailerName", name: "companyName", initValue: "" },
  { key: "retailerContactPerson", name: "managerName", initValue: "" },
  { key: "retailerContactPhone", name: "retailTel", initValue: "" },
  { key: "retailerIssueOrgCode", name: "issueOrgCode", initValue: "" },
  { key: "retailerIssueOrgId", name: "orgUuid", initValue: "" },
  { key: "retailerIssueOrgName", name: "issueOrgName", initValue: "" },
  { key: "retailerAddress", name: "businessAddr", initValue: "" },
  { key: "retailerLicense", name: "licNo", initValue: "无" },
];
import linkageService from "@/service/internal/linkeage.service";
import historyList from "../components/historyList.vue";
import uploadFileList from "../components/uploadFileList.vue";
import orgSelect from "../components/orgInfoSelect.vue";
import { uuid } from "@/common/util.js";
import moment from "moment";
export default {
  name: "informationEntryAddUpdate",
  components: { historyList, uploadFileList, orgSelect },
  data() {
    return {
      index: 0,
      keyFor,
      moment,
      isStatus: 0, // 0 新增 1编辑 2查看
      readOnly: false,
      operateType: "view", // view 只能查看  approve 可以查看 可以编辑
      baseInfo: {
        id: "",
        doorwayFileUuid: "", // 门头附件id
        rlicFileUuid: "", // 许可证附件id
        otherFileUuid: "", // 其他附件id
        createdName: "", // 反馈人
        createdDeptName: "", // 反馈部门
        feedbackDate: this.getCurDate(), // 反馈日期
        retailerName: "", // 企业字号  companyName
        retailerLicense: "", // 许可证号  licNo
        retailerContactPerson: "", // 负责人  managerName
        retailerContactPhone: "", // 联系电话 retailTel
        retailerIssueOrgCode: "", // 零售户所属部门编号 orgUuid
        retailerIssueOrgId: "", // 零售户所属组织id issueOrgUuid,
        retailerIssueOrgName: "", // 零售户所属组织name issueOrgName,
        retailerAddress: "", // 经营地址 businessAddr
        taskCode: "", // 编号
        categoryCode: "", // 反馈类型 code
        categoryName: "", // 反馈类型 name
        categoryParentCode: "", // 反馈类型父节点 code
        categoryParentName: "", // 反馈类型父节点 name
        sourceCode: "", // 反馈来源 code
        sourceName: "", // 反馈来源 name
        taskTitle: "", //  反馈标题
        content: "", // 反馈内容
        longitude: "", // 经纬度
        latitude: "", // 经纬度
        lonLat: "",
      },
      isLicense: true, //  1是零售户（true） 、 0是无证户 （fasel）
      params: {
        year: true,
        month: true,
        day: true,
        hour: false,
        minute: false,
        second: false,
      },
      showTimeVisable: false,
      showSourceNameVisabled: false,
      sourceCodeOptions: [], // 反馈来源字典表
      showCategoryNameVisabled: false,
      categoryCodeOptions: [], // 反馈类型字典表
      orgSelectShow: false, // 所属组织
      isOpen: false,
      addBtnsList: [{ text: "从列表中选择" }, { text: "从地图上选择" }],

      doorwayList: [], // 门头 附件集合
      rlicList: [], // 许可证附件集合
      otherFileList: [], // 其他附件

      nextPersonUuid: "", // 下一节审批人uuid
      orgUuid: "",
      rules: {
        retailerIssueOrgName: [
          {
            required: true,
            message: "请选择所属机构",
            trigger: ["blur", "change"],
          },
        ],
        retailerAddress: [
          {
            required: true,
            message: "请输入经营地址",
            trigger: ["blur", "change"],
          },
        ],
        lonLat: [
          {
            required: true,
            message: "请选择经纬度坐标",
            trigger: ["blur", "change"],
          },
        ],
        feedbackDate: [
          {
            required: true,
            message: "请选择反馈时间",
            trigger: ["blur", "change"],
          },
        ],
        sourceName: [
          {
            required: true,
            message: "请选择反馈来源",
            trigger: ["blur", "change"],
          },
        ],
        categoryName: [
          {
            required: true,
            message: "请选择反馈类型",
            trigger: ["blur", "change"],
          },
        ],
        retailerLicense: [
          {
            required: true,
            message: "请选择许可证号",
            trigger: ["blur", "change"],
          },
        ],
        content: [
          {
            required: true,
            message: "请输入反馈内容",
            trigger: ["blur", "change"],
          },
        ],
      },
    };
  },
  onReady() {
    this.$refs.uForm.setRules(this.rules);
  },
  onLoad(options) {
    let that = this;
    that.operateType = options.operateType;
    that.isStatus = options.isStatus;
    if (that.isStatus == 0) {
      that.baseInfo.id = uuid(); // 新增的时候 自己生产ID （也是附件id）
      that.baseInfo.doorwayFileUuid = uuid(); // 新增的时候 自己生产ID （也是附件id）
      that.baseInfo.rlicFileUuid = uuid(); // 新增的时候 自己生产ID （也是附件id）
      that.baseInfo.otherFileUuid = uuid(); // 新增的时候 自己生产ID （也是附件id）
      that.baseInfo.tdmId = options.tdmId || ""; // 任务派发页面 发起我要办
      that.baseInfo.createdName = that.curUser.user.personName;
      that.baseInfo.createdDeptName = that.curUser.deptName;
      that.orgUuid = that.curUser.cityOrgUuid;
      that.getDictClientList();
    } else {
      that.baseInfo.id = options.id;
      Promise.all([that.getDictClientList()]).then((res) => {
        that.getDetail(options.id);
      });
    }
  },
  methods: {
    getCurDate() {
      return moment().format("YYYY-MM-DD");
    },
    updateFile(file) {
      if (file.type == "doorwayList") {
        this.doorwayList = file.list;
      }
      if (file.type == "rlicList") {
        this.rlicList = file.list;
      }
      if (file.type == "otherFileList") {
        this.rlicList = file.list;
      }
    },
    changeTab(index) {
      this.index = index;
      uni.pageScrollTo({
        scrollTop: 0,
      });
    },
    clickDatekHandle() {
      if (this.isStatus != 2) {
        this.showTimeVisable = true;
      }
    },
    clickCodeHandle() {
      if (this.isStatus != 2) {
        this.showSourceNameVisabled = true;
      }
    },
    clickCategoryHandle() {
      if (this.isStatus != 2) {
        if (!this.baseInfo.sourceName) {
          return this.$u.toast("请先选择反馈来源");
        }
        this.showCategoryNameVisabled = true;
      }
    },
    changeDate(value) {
      this.baseInfo.feedbackDate = value.year + "-" + value.month + "-" + value.day;
      this.showTimeVisable = false;
    },
    getDictClientList() {
      linkageService.getDictClientList().then((res) => {
        if (res.success) {
          this.sourceCodeOptions = res.bean.TASK_SOURCE.items;
        } else {
          this.$u.toast(res.msg);
        }
      });
    },
    getFeedbackType(sourceCode = "", type = 1) {
      let self = this;
      self.$modal.showLoading("加载中...");
      let param = {
        sourceCode,
      };
      linkageService
        .getFeedbackType(param)
        .then((res) => {
          self.$modal.hideLoading();
          if (res.success) {
            self.categoryCodeOptions = self.recursiveList(res.data);
            // 查看详情的时候再转换一下包括编辑
            if (type == 2) {
              self.categoryCodeOptions.forEach((item) => {
                if (item.children && item.children.length > 0) {
                  item.children.forEach((V) => {
                    if (V.value == self.baseInfo.categoryCode) {
                      //  == 1无证户
                      if (V.licenseFlag == "1") {
                        self.isLicense = false;
                      } else {
                        self.isLicense = true;
                      }
                    }
                  });
                }
              });
            }
          } else {
            self.$u.toast(res.msg);
          }
        })
        .catch((err) => {
          self.$modal.hideLoading();
        });
    },
    hanldeConfirmSource(data) {
      if (this.baseInfo.sourceCode) {
        if (this.baseInfo.sourceCode != data[0].value) {
          // 切换反馈来源的时候 重置 反馈类型
          this.baseInfo.categoryCode = "";
          this.baseInfo.categoryName = "";
          this.baseInfo.categoryParentCode = "";
          this.baseInfo.categoryParentName = "";
          this.categoryCodeOptions = [];
          // 切换反馈来源的时候 重置 反馈类型
          this.getFeedbackType(data[0].value, 1);
        }
      } else {
        // 这个是初始没值的情况下
        this.getFeedbackType(data[0].value, 1);
      }
      this.baseInfo.sourceName = data[0].label;
      this.baseInfo.sourceCode = data[0].value;
      this.checkUploadFile();
    },
    checkUploadFile() {
      if (this.baseInfo.sourceCode == "1001") {
        this.readOnly = true;
      } else {
        this.readOnly = false;
      }
    },
    recursiveList(list) {
      if (!Array.isArray(list)) {
        return;
      }
      return list.map((item) => {
        return {
          label: item.name,
          value: item.code,
          licenseFlag: item.licenseFlag,
          children: item.children.length > 0 ? this.recursiveList(item.children) : "", // 这里由于后台返回有[]，但是框架有问题会识别[]，因此这边代码要转换为非[]的值
        };
      });
    },
    hanldeConfirmCategory(data) {
      // 这里返回2条数据，第0条为父类，第1条为子类
      this.baseInfo.categoryCode = data[1].value;
      this.baseInfo.categoryName = data[1].label;
      this.baseInfo.categoryParentCode = data[0].value;
      this.baseInfo.categoryParentName = data[0].label;
      this.showCategoryNameVisabled = false;

      this.categoryCodeOptions.forEach((item) => {
        if (item.value == data[0].value) {
          if (item.children && item.children.length > 0) {
            let row = item.children.find((V) => V.value == data[1].value) || {};
            if (row.licenseFlag == "1") {
              this.isLicense = false;
              this.baseInfo.retailerLicense = "无";
              this.resetLicenseInput();
            } else {
              // 如何第一次选择了 无证经营在想切换 别的 licenseFlag 为 "1" 时候，就应该清空 无
              if (!this.isLicense) {
                this.baseInfo.retailerLicense = "";
              }
              this.isLicense = true;
            }
          }
        }
      });
    },
    resetLicenseInput() {
      this.keyFor.forEach((Item) => {
        if (Item.key != "retailerLicense") {
          this.baseInfo[Item.key] = Item.initValue;
        }
      });
    },
    // 选择许可证号
    clickLicNoHandle() {
      if (this.isStatus != 2 && this.isLicense) {
        this.isOpen = true;
      }
    },
    handlerDropMenu(i) {
      if (i == 0) {
        this.$u.route("/pages/internal/linkage/components/retailerList?page=informationEntryAddUpdate");
      } else if (i == 1) {
        this.$u.route("/pages/internal/linkage/components/mapRetailerList");
      } else {
        this.isOpen = false;
      }
    },
    // 选择所属机构
    clickorgUuidHandle() {
      if (this.isStatus != 2) {
        this.orgSelectShow = true;
      }
    },
    // 经纬度坐标
    clickLonlatHandle() {
      if (this.isStatus != 2 && !this.isLicense) {
        this.setRouteParam({ disable: false, step: "start" });
        this.$u.route("/pages/commonPage/modifyLocationMap");
      }
    },
    selectArea(args) {
      this.baseInfo.retailerIssueOrgCode = args.map((a) => a.orgCode).join(",");
      this.baseInfo.retailerIssueOrgId = args.map((a) => a.id).join(",");
      this.baseInfo.retailerIssueOrgName = args.map((a) => a.name).join(",");
      this.orgSelectShow = false;
    },
    saveOrSubmit(type) {
      let self = this;
      self.$refs.uForm.validate((valid) => {
        if (valid) {
          if (self.readOnly && self.doorwayList.length == 0) {
            self.changeTab(1);
            return self.$u.toast("请上传门头附件");
          }
          if (self.readOnly && self.rlicList.length == 0) {
            self.changeTab(1);
            return self.$u.toast("请上传许可证附件");
          }
          let param = Object.assign({}, self.baseInfo);
          param.taskTitle = "反馈" + self.baseInfo.retailerName + self.baseInfo.categoryName;
          delete param.lonLat; // 不需要这个字段，传也没问题
          if (type == "save") {
            self.$u.loading("数据保存中...");
            linkageService
              .taskClientListUpdate(param)
              .then((res) => {
                self.$u.hideLoading();
                if (res.success) {
                  self.$u.toast("保存成功");
                  self.back();
                } else {
                  self.$u.toast(res.msg);
                }
              })
              .catch((err) => {
                self.nextPersonUuid = "";
                self.$u.hideLoading();
              });
          } else {
            if (self.nextPersonUuid) {
              self.$u.loading("数据保存中...");
              linkageService
                .taskClientListSave(param, this.nextPersonUuid)
                .then((res) => {
                  self.$u.hideLoading();
                  if (res.success) {
                    self.$u.toast("提交成功");
                    self.back();
                  } else {
                    self.$u.toast(res.msg);
                  }
                })
                .catch((err) => {
                  self.nextPersonUuid = "";
                  self.$u.hideLoading();
                });
            } else {
              self.$u.route({
                url: "/pages/internal/linkage/components/flowUserList",
                params: {
                  status: "1",
                  gfCode: "task-check",
                  bizId: "",
                  longitude: self.baseInfo.longitude,
                  latitude: self.baseInfo.latitude,
                  orgId: self.baseInfo.retailerIssueOrgId,
                  categoryParentCode: self.baseInfo.categoryParentCode,
                },
              });
            }
          }
        }
      });
    },
    back() {
      this.backPrev({
        paramKey: "refresh",
        param: true,
      });
    },
    updateBackState(param) {
      if (param.retailerSelectBack) {
        let params = param.retailerSelectBack;
        this.baseInfo.longitude = params.longitude || "";
        this.baseInfo.latitude = params.latitude || "";
        for (let key in this.baseInfo) {
          this.keyFor.forEach((item) => {
            if (key == item.key) {
              this.baseInfo[key] = params[`${item.name}`];
            }
          });
        }
      }
      if (param.flowUserSelectBack) {
        this.nextPersonUuid = param.flowUserSelectBack;
        this.saveOrSubmit("submit");
      }
      if (param.pos) {
        this.baseInfo.longitude = param.pos.longitude;
        this.baseInfo.latitude = param.pos.latitude;
        this.baseInfo.lonLat = param.pos.longitude + "," + param.pos.latitude;
        if (!this.baseInfo.retailerAddress) {
          this.baseInfo.retailerAddress = param.pos.detailAddress;
        }
      }
    },
    getDetail(id) {
      linkageService.getTaskClientDetail(id).then((res) => {
        if (res.success) {
          for (let key in this.baseInfo) {
            this.baseInfo[key] = res.bean[key];
          }
        }
        this.baseInfo.lonLat = this.baseInfo.longitude + "," + this.baseInfo.latitude;
        // 编辑的情况下在校验一次
        if (this.isStatus == 1) {
          this.checkUploadFile();
        }
        this.getFeedbackType(this.baseInfo.sourceCode, 2);
      });
    },
  },
};
</script>

<style lang="scss" scoped>
.page {
  padding: 0;
}
/deep/ .no-need-select {
  .u-input__right-icon--select {
    display: none;
  }
}
.content {
  background-color: #f3f4f6;
  position: relative;
  height: inherit;
  .content-tab {
    position: fixed;
    top: 0;
    left: 0;
    box-sizing: border-box;
    z-index: 99;
    width: 100%;
    height: 75px;
    background: white;
    .content-tab-list {
      display: flex;
      padding: 24rpx 0;
      position: relative;
      align-items: center;
      justify-content: center;
      flex-direction: column;
    }
    .u-col:nth-child(2),
    .u-col:nth-child(3) {
      .content-tab-list::after {
        left: 0;
        position: absolute;
        content: "";
        width: 1px;
        height: 20px;
        background-color: #f3f4f5;
      }
    }
    .content-history {
      background-color: #f3f4f5;
    }
    .tab-text {
      font-size: 26rpx;
      padding-top: 10rpx;
    }
    .tab-color {
      font-weight: 600;
      color: $u-type-primary;
    }
  }
  .content-main {
    padding-top: 75px;
    .u-form-m {
      padding: 0 $cm-content-paddng-row 75px;
    }
    .content-info {
      background-color: white;
    }
  }
  .no-data {
    width: 160px;
    margin: 10vh auto 0;
    text-align: center;
  }
  .no-text {
    display: inline-block;
    font-size: 13px;
    margin-top: 15px;
  }
}
</style>
